///*
// * To change this template, choose Tools | Templates
// * and open the template in the editor.
// */
//package pio.action.administrador.rutas;
//
//import DBMS.DataBaseManager;
//import clases.Coordinador;
//import clases.Institucion;
//import clases.Ruta;
//import java.util.ArrayList;
//import java.util.List;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import org.apache.struts.action.ActionForm;
//import org.apache.struts.action.ActionForward;
//import org.apache.struts.action.ActionMapping;
//import org.apache.struts.actions.DispatchAction;
//
///**
// *
// * @author tamerdark
// */
//public class Instituciones extends DispatchAction {
//
//    public ActionForward add(ActionMapping mapping, ActionForm form,
//            HttpServletRequest request, HttpServletResponse response)
//            throws Exception {
//        request.setAttribute("instituciones", Institucion.getAll());
//        Ruta c = (Ruta) form;
//        System.out.println("El tamano de las instituciones es: " + c.getInstituciones().size());
//        Institucion i = new Institucion();
//        i.setId(c.getId());
//        DataBaseManager dbms = DataBaseManager.getInstance();
//        if (dbms.agregarInstitucionARuta(i, c)) {
//            c.setMensaje("Ruta agregado a la institución.");
//            repopulate(c);
//            return mapping.findForward("success");
//        } else {
//            c.setMensaje("No se pudo agregar la ruta a la institución.");
//            return mapping.findForward("failure");
//        }
//    }
//
//    private void repopulate(ActionForm form) {
//        DataBaseManager dbms = DataBaseManager.getInstance();
//        Ruta c = (Ruta) form;
//        List<Ruta> l = dbms.consultarRuta(c);
//        if (l.isEmpty()) {
//            c.setMensaje("Hubo un error consultando las instituciones asociadas a la ruta.");
//        } else {
//            c.cloneWith(l.get(0));
//        }
//    }
//
//    public ActionForward delete(ActionMapping mapping, ActionForm form,
//            HttpServletRequest request, HttpServletResponse response)
//            throws Exception {
//        request.setAttribute("instituciones", Institucion.getAll());
//        Ruta c = (Ruta) form;
//        Institucion i = new Institucion();
//        i.setId(c.getId());
//        c.agregarInstitucion(i);
//        DataBaseManager dbms = DataBaseManager.getInstance();
//        if (dbms.eliminarInstitucionDeRuta(i)) {
//            repopulate(form);
//            request.setAttribute("ruta", form);
//            c.setInstituciones(new ArrayList());
//            c.setMensaje("Ruta eliminada de la institución.");
//            return mapping.findForward("success");
//        } else {
//            c.setMensaje("No se pudo eliminar la ruta de la institución.");
//            return mapping.findForward("failure");
//        }
//    }
//
//    public ActionForward populate(ActionMapping mapping, ActionForm form,
//            HttpServletRequest request, HttpServletResponse response)
//            throws Exception {
//        System.out.println("Entrando a populate");
//        Ruta c = (Ruta) form;
//        repopulate(c);
//        request.setAttribute("instituciones", Institucion.getAll());
//        request.setAttribute("ruta", c);
//        return mapping.findForward("populate");
//    }
//}
